草庐IT

Django SQL注入

全部标签

php - 构造函数注入(inject)——如果构造函数中没有提供,是否可以使用新的空对象?

假设我有一堆类可以进行日志记录,所以我创建了一个记录器接口(interface)和几个实现(写入文件、标准输出、数据库等),但有时我不这样做关心记录这些消息,所以我做了一个实现,它只是忽略了所有的消息。现在这有助于避免if并仅使用$this->logger->write($message),但我仍然必须每次都注入(inject)虚拟记录器时间。那么做这样的事情会有什么坏处:$this->logger=$logger吗?$logger:构造函数中的newDummyLogger()。我通常不在构造函数中做任何工作,但这种东西似乎不太危险。你会选择这种方式吗? 最

php - 如何避免冲突用于依赖注入(inject)的 PHP 特性

我终于开始探索PHP中的特征。我想尝试的第一个地方是将配置位注入(inject)到类中。如果我使用DIC,我可能在任何需要配置对象的类中都有这样的代码:protectedfunctionSetConfig($config){$this->config=$config;}protected$config;这似乎很自然地适合traits以避免到处都是样板代码,所以我可能会创建这个:traitConfig{protectedfunctionSetConfig($config){$this->config=$config;}protected$config;}然后像这样使用它:classFoo

php - Symfony 依赖注入(inject)注入(inject)类的新实例

我正在使用symfony/dependency-injection组件(注意:没有使用完整的堆栈框架)注册新服务时,我想在构造函数中注入(inject)类的新实例。示例:$container->register('session','Vendor\Core\Session')->addArgument(newPhpBridgeSessionStorage());该示例运行良好,但如果我想使用yml文件来定义此服务怎么办?像这样的东西:services:session:class:Vendor\Core\Sessionarguments:[newClass\To\Inject]我是否被迫

php - 依赖注入(inject)中的默认值

我目前有一个具有紧密耦合依赖关系的类,并且类构造函数当前没有任何参数。我正在尝试能够有选择地传入不同的依赖项,而不更改构造函数签名,从而破坏当前使用该类的应用程序。我想到了这个模式:classCar{private$engine;publicfunction__construct($options=array()){if(isset($options['engine']){$this->engine=$options['engine'];}else{$this->engine=newEngine();}}}这样Car仍然可以使用newcar()创建(使用默认引擎),或者通过传入自定义引

php - Yii2 依赖注入(inject)示例

谁能给我指出在Yii2中使用DI容器的实际示例或教程的方向?我一定很厚,但是关于这个主题的2.0指南对我来说不是那么清楚。此外,我查看过的大多数在线教程和示例代码都充斥着Yii::$app单例,这使得测试变得困难。 最佳答案 例如,您有类\app\components\First和\app\components\Second实现一个接口(interface)\app\components\MyInterface您可以使用DI容器仅在一处更改类。例如:classFirstimplementsMyInterface{publicfunc

php - Symfony 服务注入(inject)语法

我正在开发由另一家公司实现的Symfony2应用程序,遇到了以下服务定义:service_id:class:'path\to\class'calls:-[setRequest,['@?request=']]我知道@?request=中的问号是什么意思(如果服务不存在,setRequest不会被调用),但是等号是什么意思在平均值的末尾?谢谢! 最佳答案 等号用于告诉容器忽略范围违规。request处于特殊范围内,如果您在不同的范围内使用它,容器将抛出异常。作用域在Sf2.8中被弃用并在Sf3.0中被移除。参见https://symfo

[ vulhub漏洞复现篇 ] Drupal<7.32 Drupalgeddon SQL注入漏洞(CVE-2014-3704)

?博主介绍?‍?博主介绍:大家好,我是_PowerShell,很高兴认识大家~✨主攻领域:【渗透领域】【数据通信】【通讯安全】【web安全】【面试分析】?点赞➕评论➕收藏==养成习惯(一键三连)??欢迎关注?一起学习?一起讨论⭐️一起进步?文末有彩蛋?作者水平有限,欢迎各位大佬指点,相互学习进步!文章目录?博主介绍一、漏洞编号二、影响范围三、漏洞描述四、环境搭建1、进入CVE-2014-3704环境2、启动CVE-2014-3704环境3、查看CVE-2014-3704环境4、访问CVE-2014-3704环境5、查看CVE-2014-3704漏洞提示信息

php - 对自定义类的依赖注入(inject)陷入 L4.2 中的无限循环?

我一直在更改我的Controller和帮助程序类以使用依赖项注入(inject),但我的帮助程序类似乎陷入了无限循环。下面是我的自定义ServiceProvider和两个示例助手类。如您所见,它们相互注入(inject),因此它们不断来回移动。这个问题的解决方案是什么?我似乎在犯什么错误?我该怎么做才能在模拟时对General和Person等辅助类运行测试从它们内部调用的辅助类?我认为可行的一种方法是在我的ServiceProvider中执行以下操作:if(isset($appmade->General)){//injecttheGeneralappthat'salreadyinsta

php - 防止sql注入(inject)的最佳实践是什么

我做了一些研究,但仍然很困惑,这是我的研究结果。有人可以评论并建议我如何改进它们,或者是否已经有可靠的实现可供我使用?方法一:array_map('trim',$_GET);array_map('stripslashes',$_GET);array_map('mysql_real_escape_string',$_GET);方法二:functionfilter($data){$data=trim(htmlentities(strip_tags($data)));if(get_magic_quotes_gpc())$data=stripslashes($data);$data=mysql

php - 注入(inject)攻击(我以为我被保护了!)<?php/**/eval(base64_decode(无处不在

我有一个完全自定义的PHP站点,其中包含大量数据库调用。我刚刚被注入(inject)黑客攻击。下面的这一小段代码出现在我的许多PHP页面中。我对我的SQL调用等非常小心;它们都是这种格式:$query=sprintf("UPDATESalesSET`Shipped`='1',`Tracking_Number`='%s'WHEREID='%s'LIMIT1;",mysql_real_escape_string($trackNo),mysql_real_escape_string($id));$result=mysql_query($query);mysql_close();郑重声明,我很